flow and error control techniques in computer networks